package cn.itcast.dao.system;

import cn.itcast.domain.system.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {

    //根据企业id查询全部
    List<User> findAll(String companyId);

    //根据id查询
    User findById(String id);

    //保存
    void save(User user);

    //更新
    void update(User user);

    //根据id删除
    void delete(String id);

    // 根据用户id查询角色id列表
    List<String> findRoleIdListByUserId(String id);

    // 先根据用户id删除中间表数据
    void deleteRoleIdsByUserId(String userId);

    // 重写分配
    void saveRoleIdAndUserId(@Param("userId") String userId, @Param("roleId") String roleId);

    User findByEmail(String email);
}